Brief Announcement: Dynamic-Sized Lock-Free Data Structures∗
نویسندگان
چکیده
Almost all previous dynamic-sized lock-free data structures are either unable to free memory to the memory allocator when it is no longer required, or require special system or hardware support. In the only exception we are aware of, a single thread failure can prevent further memory reclamation (see full paper for reference). We recently posed a problem — the Repeat Offenders Problem (ROP) — and presented one solution and its correctness proof [3]. Solutions to this problem can be used to design dynamic-sized lockfree implementations of shared data structures that overcome all of the problems mentioned above. In the full paper [2], we present two results. The first is a general methodology, based on any ROP solution, for transforming dynamic-sized lock-free data structure implementations that depend on garbage collection (GC) for memory management into equivalent ones that do not require GC. This methodology is based on reference counts, and therefore entails space and time overhead required to maintain reference counts. (This methodology improves on the one presented in [1] by removing the dependence on double compare-and-swap (DCAS).) ROP can also be applied directly to achieve more efficient (both in space and time) implementations of dynamic-sized lock-free data structures. In the full paper, we give an example to demonstrate this approach. Specifically, we show how to modify the widely-used lock-free FIFO queue implementation of Michael and Scott so that it can free memory to the memory allocator when it is no longer required. We also present the results of performance experiments
منابع مشابه
The Repeat Offender Problem: A Mechanism for Supporting Dynamic-Sized, Lock-Free Data Structures
We define the Repeat Offender Problem (ROP). Elsewhere, we have presented the first dynamic-sized, lock-free data structures that can free memory to any standard memory allocator—even after thread failures—without requiring special support from the operating system, the memory allocator, or the hardware. These results depend on a solution to the ROP problem. Here we present the first solution t...
متن کاملBrief Announcement: ParMarkSplit: A Parallel Mark-Split Garbage Collector Based on a Lock-Free Skip-List
This brief announcement provides a high level overview of a parallel mark-split garbage collector. Our parallel design introduces and makes use of an efficient concurrency control mechanism based on a lock-free skip-list design for handling the list of free memory intervals. We have implemented the parallel mark-split garbage collector in OpenJDK HotSpot as a parallel and concurrent garbage col...
متن کاملDesign Characteristics and Dynamic Modeling of a Cooperative Dual-Arm- Lock Manipulator
Recent developments in the area of smart structures indicate that variable geometry / stiffness truss network is of fundamental importance in designing smart transformable structures and systems for space applications. This paper presents the conceptual design and dynamic modeling of a cooperative re-configurabel dual-arm robotic structure called Dual-Arm Cam-Lock Manipulator. The Manipulator i...
متن کاملSoftware Transactional Memory for Dynamic-Sized Data Structures
Software transactional memory (STM) is a programming abstraction for organizing access to shared mutable state in concurrent programs by dividing work into atomic units, called transactions. Dynamic STM builds on this idea by allowing extra runtime decisions about transactions and memory usage, therefore it is useful for working with dynamic-sized data structures. This review first introduces S...
متن کاملPractical and Efficient Lock-Free Garbage Collection Based on Reference Counting
We present an efficient and practical lock-free implementation of a garbage collection scheme based on reference counting aimed for the use with arbitrary lock-free dynamic data structures. The scheme guarantees the safety of local as well as global references, supports arbitrary memory reuse, uses atomic primitives which are available in modern computer systems and provides an upper bound on t...
متن کامل